package com.eshop.modules.order.service.dto;

import com.eshop.serializer.BigDecimalSerializer;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.math.BigDecimal;

public class PriceGroupDto
{
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal costPrice;
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal storeFreePostage;
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal storePostage;
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal totalPrice;
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal vipPrice;
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal payIntegral;
    
    public BigDecimal getCostPrice() {
        return this.costPrice;
    }
    
    public BigDecimal getStoreFreePostage() {
        return this.storeFreePostage;
    }
    
    public BigDecimal getStorePostage() {
        return this.storePostage;
    }
    
    public BigDecimal getTotalPrice() {
        return this.totalPrice;
    }
    
    public BigDecimal getVipPrice() {
        return this.vipPrice;
    }
    
    public BigDecimal getPayIntegral() {
        return this.payIntegral;
    }
    
    public void setCostPrice(final BigDecimal costPrice) {
        this.costPrice = costPrice;
    }
    
    public void setStoreFreePostage(final BigDecimal storeFreePostage) {
        this.storeFreePostage = storeFreePostage;
    }
    
    public void setStorePostage(final BigDecimal storePostage) {
        this.storePostage = storePostage;
    }
    
    public void setTotalPrice(final BigDecimal totalPrice) {
        this.totalPrice = totalPrice;
    }
    
    public void setVipPrice(final BigDecimal vipPrice) {
        this.vipPrice = vipPrice;
    }
    
    public void setPayIntegral(final BigDecimal payIntegral) {
        this.payIntegral = payIntegral;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof PriceGroupDto)) {
            return false;
        }
        final PriceGroupDto other = (PriceGroupDto)o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$costPrice = this.getCostPrice();
        final Object other$costPrice = other.getCostPrice();
        Label_0065: {
            if (this$costPrice == null) {
                if (other$costPrice == null) {
                    break Label_0065;
                }
            }
            else if (this$costPrice.equals(other$costPrice)) {
                break Label_0065;
            }
            return false;
        }
        final Object this$storeFreePostage = this.getStoreFreePostage();
        final Object other$storeFreePostage = other.getStoreFreePostage();
        Label_0102: {
            if (this$storeFreePostage == null) {
                if (other$storeFreePostage == null) {
                    break Label_0102;
                }
            }
            else if (this$storeFreePostage.equals(other$storeFreePostage)) {
                break Label_0102;
            }
            return false;
        }
        final Object this$storePostage = this.getStorePostage();
        final Object other$storePostage = other.getStorePostage();
        Label_0139: {
            if (this$storePostage == null) {
                if (other$storePostage == null) {
                    break Label_0139;
                }
            }
            else if (this$storePostage.equals(other$storePostage)) {
                break Label_0139;
            }
            return false;
        }
        final Object this$totalPrice = this.getTotalPrice();
        final Object other$totalPrice = other.getTotalPrice();
        Label_0176: {
            if (this$totalPrice == null) {
                if (other$totalPrice == null) {
                    break Label_0176;
                }
            }
            else if (this$totalPrice.equals(other$totalPrice)) {
                break Label_0176;
            }
            return false;
        }
        final Object this$vipPrice = this.getVipPrice();
        final Object other$vipPrice = other.getVipPrice();
        Label_0213: {
            if (this$vipPrice == null) {
                if (other$vipPrice == null) {
                    break Label_0213;
                }
            }
            else if (this$vipPrice.equals(other$vipPrice)) {
                break Label_0213;
            }
            return false;
        }
        final Object this$payIntegral = this.getPayIntegral();
        final Object other$payIntegral = other.getPayIntegral();
        if (this$payIntegral == null) {
            if (other$payIntegral == null) {
                return true;
            }
        }
        else if (this$payIntegral.equals(other$payIntegral)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof PriceGroupDto;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $costPrice = this.getCostPrice();
        result = result * 59 + (($costPrice == null) ? 43 : $costPrice.hashCode());
        final Object $storeFreePostage = this.getStoreFreePostage();
        result = result * 59 + (($storeFreePostage == null) ? 43 : $storeFreePostage.hashCode());
        final Object $storePostage = this.getStorePostage();
        result = result * 59 + (($storePostage == null) ? 43 : $storePostage.hashCode());
        final Object $totalPrice = this.getTotalPrice();
        result = result * 59 + (($totalPrice == null) ? 43 : $totalPrice.hashCode());
        final Object $vipPrice = this.getVipPrice();
        result = result * 59 + (($vipPrice == null) ? 43 : $vipPrice.hashCode());
        final Object $payIntegral = this.getPayIntegral();
        result = result * 59 + (($payIntegral == null) ? 43 : $payIntegral.hashCode());
        return result;
    }
    
    @Override
    public String toString() {
        return "PriceGroupDto(costPrice=" + this.getCostPrice() + ", storeFreePostage=" + this.getStoreFreePostage() + ", storePostage=" + this.getStorePostage() + ", totalPrice=" + this.getTotalPrice() + ", vipPrice=" + this.getVipPrice() + ", payIntegral=" + this.getPayIntegral() + ")";
    }
}
